package com.fowo.api.model.logistics.provider;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 物流商 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class LogisticsProviderImportPo {

  /** 物流商 */
  @ExcelProperty("*物流商")
  @NotBlank(message = "物流商不能为空")
  @Size(max = 50, message = "物流商长度不能超过50")
  private String name;

  /** 代码 */
  @ExcelProperty("代码")
  @Size(max = 50, message = "代码长度不能超过50")
  private String code;

  /** 状态 */
  @ExcelProperty("状态")
  private String status;

  /** 联系人 */
  @ExcelProperty("联系人")
  @Size(max = 50, message = "联系人长度不能超过50")
  private String contacts;

  /** 联系电话 */
  @ExcelProperty("联系电话")
  @Size(max = 50, message = "联系电话长度不能超过50")
  private String phone;

  /** 邮箱 */
  @ExcelProperty("邮箱")
  @Size(max = 50, message = "邮箱长度不能超过50")
  private String mailBox;

  /** 预付比例 */
  @ExcelProperty("预付比例")
  @DecimalString(message = "预付比例小数格式不正确", label = "预付比例")
  private String paymentRatio;

  /** 结算方式 */
  @ExcelProperty("结算方式")
  @EnumsString(
    value = { "现结", "月结" },
    message = "结算方式只能是“现结”, “月结”中的一个"
  )
  private String settlementMethod;

  /** 付款日 */
  @ExcelProperty("付款日")
  @Size(max = 50, message = "付款日长度不能超过50")
  private String settlementNode;

  /** 结算周期 */
  @ExcelProperty("结算周期")
  @Size(max = 50, message = "结算周期长度不能超过50")
  private String settlementCycle;

  /** 授权状态 */
  @ExcelProperty("授权状态")
  @EnumsString(
    value = { "已授权", "未授权" },
    message = "授权状态只能是“已授权”, “未授权”中的一个"
  )
  private String isEmpower;
}
